﻿<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<p>hello word</p>
<script>
    //    var url = "http://127.0.0.1/e/action/ShowInfo.php?sdsdsdsd=sdsdsds&sdsdsdsfsfs=sdsdsdsd&dfdsds=sdsdsdsd";//定义变量
    //    function parse_url(_url) { //定义函数
    //        var pattern = /(\w+)=(\w+)/ig;//定义正则表达式
    //        var parames = {};//定义数组
    //        url.replace(pattern, function (a, b, c) {
    //            parames[b] = c;
    //        });
    //        /*这是最关键的.当replace匹配到classid=9时.那么就用执行function(a,b,c);其中a的值为:classid=9,b的值为classid,c的值为9;(这是反向引用.因为在定义正则表达式的时候有两个子匹配.)
    //         然后将数组的key为classid的值赋为9;然后完成.
    //         再继续匹配到id=2;此时执行function(a,b,c);其中a的值为:id=2,b的值为id,c的值为2;然后将数组的key为id的值赋为2.
    //         */
    //        return parames;//返回这个数组.
    //    }
    //    var parames = parse_url(url);
    //    console.log(parames['sdsdsdsd'] + ", " + parames['sdsdsdsfsfs'] + "," + parames['dfdsds']);
    //最后打印.根据key值来打印数组对应的值

    //
    //    var str1 = 'abcdABCDaaaaaaaabbbbccefg';
    //    var str2 = str1.toLowerCase();
    //    var arr = (str2.split('')).sort();
    //    console.log(arr);
    //    var obj = {};
    //    for (var i = 0; i < arr.length; i++) {
    //        if (obj[arr[i]]) {//如果对象里没有当前的key值，说明该元素目前没有重复值，将其次数设为1
    //            obj[arr[i]] += 1;
    //        } else {//有重复，当前value值加1
    //            obj[arr[i]] =1;
    //        }
    //        for(var a in obj){
    //            var num=obj[a];
    //            if(num>1) {
    //                console.log("重复元素" + a + "重复" + obj[a] + "次");
    //            }
    //        }
    //    }

    //    console.log(obj);

    // code的值 也能为 “asds” "s2d"(任意值)  code 相同的 poll 累加
    var arr = [
        {"code": "a", "poll": 7},
        {"code": "b", "poll": 2},
        {"code": "c", "poll": 18},
        {"code": "a", "poll": 5},
        {"code": "c", "poll": 12},
        {"code": "a", "poll": 1}
    ];

    var arr2 = [
        {"code": "a", "poll": 13},
        {"code": "b", "poll": 2},
        {"code": "c", "poll": 30}
    ];

    //    //给poll 排序
    //    console.log(obj.sort(function (cur, next) {
    //        return cur.poll < next.poll
    //    })[0]);
    //    // { code: 'c', poll: 18 }

    var obj = {};
    var arrs = [];
    for (var i = 0; i < arr.length; i++) {
        if (obj[arr[i].code]) {//如果对象里有当前的key值，obj里元素key的value 累加
            obj[arr[i].code] += 1;
            //如果有重复遍历数组
            for (var j in arrs) {
                //找到arrs中code值相同的
                if (arrs[j].code == arr[i].code) {
                    //实现累加
                    arrs[j].poll += arr[i].poll
                }
            }
        } else {//没出现，当前value值加1
            obj[arr[i].code] = 1;
            var objs = {};
            objs.code = arr[i].code;
            objs.poll = arr[i].poll;
            arrs.push(objs);
        }
    }
    console.log(obj);
    console.log(arrs);


    console.log(111111);


    //    var a = {
    //        a1: 1,
    //        a2: 2
    //    }
    //    var b = a;
    //
    //    a.a1++;
    //    b.a3 = 3;
    //    console.log("a");
    //    console.log(a);
    //    console.log("b");
    //    console.log(b);


</script>
</body>
</html>